package com.huangyi.portalservice.homepage.service;

import com.huangyi.commondomain.domain.vo.BasePageVO;
import com.huangyi.portalservice.homepage.domain.dto.CityDescDTO;
import com.huangyi.portalservice.homepage.domain.dto.HouseListReqDTO;
import com.huangyi.portalservice.homepage.domain.dto.PullDataListReqDTO;
import com.huangyi.portalservice.homepage.domain.vo.HouseDescVO;
import com.huangyi.portalservice.homepage.domain.vo.PullDataListVO;

/**
 * 首页服务接口
 * 
 * <p>提供首页相关的业务功能，包括城市信息获取、筛选数据获取和房源列表查询
 * 
 * @author huangyi
 * @version 1.0
 * @since 2024
 */
public interface IHomePageService {
    
    /**
     * 根据经纬度获取城市信息
     * 
     * @param lat 纬度
     * @param lng 经度
     * @return 城市信息DTO
     */
    CityDescDTO getCityDesc(Double lat, Double lng);

    /**
     * 获取下拉筛选数据列表
     * 
     * @param reqDTO 筛选数据请求参数
     * @return 筛选数据列表视图对象
     */
    PullDataListVO getPullDataList(PullDataListReqDTO reqDTO);

    /**
     * 查询房源列表
     * 
     * @param reqDTO 房源列表查询请求参数
     * @return 房源列表分页视图对象
     */
    BasePageVO<HouseDescVO> houseList(HouseListReqDTO reqDTO);
}
